package cn.tedu.dao;

import cn.tedu.entity.Goods;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface GoodsMapper {

    /**
     * 根据商品分类获取商品列表
     * @param categoryId   分类id
     * @param orderBy       排序
     * @param offset        偏移量，即跳过前面的多少条数据，如果从头开始获取则设置为0
     * @param count         获取数据的数量
     * @return              商品分类列表
     */
    List<Goods> getGoodsListByCategoryId(
            @Param("categoryId") Integer categoryId,
            @Param("orderBy") String orderBy,
            @Param("offset") Integer offset,
            @Param("count") Integer count);

    /**
     * 获取某分类的商品的总数量
     * @param categoryId    分类的id
     * @return              商品的数量
     */
    Integer getGoodsCountByCategoryId(Integer categoryId);

    /**
     * 根据商品id获取商品信息
     * @param id    商品id
     * @return      返回商品信息
     */
    Goods getGoodsById(Integer id);

    /**
     * 根据item_type获取商品列表
     * @param itemType  商品item_type
     * @return          返回商品列表
     */
    List<Goods> getGoodsListByItemType(String itemType);
}